package com.yuan.statemachine.core;

/**
 * @author wjwei
 */
public abstract class AbstractStateMachine<F extends Enum<F>,S extends Enum<S>,E extends Enum<E>> {

    /**
     * 注册器，用于将每个状态实现类注册到状态管理器
     *
     * @param stateMachine 状态机
     */
    public abstract void registrar(StateMachine<F,S,E> stateMachine);

    public abstract StateResponseBody doEvent(Enum<E> event, Object data);

}
